package com.ftg.learn.chapter02.java;

import com.ftg.learn.chapter02.java.inner.IShuXueInner;
import com.ftg.learn.chapter02.java.og.IShuXue;
import com.ftg.learn.chapter02.java.og.SaojiaoHanshu;
import com.ftg.learn.chapter02.java.og.ShuXue;

import java.util.ArrayList;
import java.util.List;

/**
 * 学习一下lambda表达式 -
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/12/21 上午8:20
 */


public class LearnLambda {


    // 给我写一个功能可以完成两个数求和 差  商 积

    //1 定义四个方法 right

    //2 面向对象 :  面向接口编程确可以接收到实现类(极高)；面向父类编程确可以接收到子类的实例;

    //3 面向对象设计 + 内部类

    public static void main(String[] args) {
        IShuXueInner iShuXueInner = new IShuXueInner() {
            @Override
            public int jiafa(int x, int y) {
                return x + y + 30;
            }

            @Override
            public int jianfa(int x, int y) {
                return x - y - 2;
            }
        };

        IShuXueInner iShuXueInner1 = new IShuXueInner() {
            @Override
            public int jiafa(int x, int y) {
                return x + y + 40;
            }

            @Override
            public int jianfa(int x, int y) {
                return x - y - 3;
            }
        };

        iShuXueInner1.jiafa(2,3);
    }

//
//    父 a = new 子类();  子类向上转型 成为了父类,所以子类派生方法失效
//
//    子类 a = new 父();  错
//
//    有没有向下转型 有。
//    父 a = new 子类();
//
//    子类 b = (子类)a;

}
